The present invention relates to a display system in which symbols are generated on a screen by copying blocks of pixels representing the symbols from general purpose storage into a display buffer.
Display systems in which symbols are generated on a screen in this way may take many different forms. One possible form is that of a workstation such as personal computer. It is common for the display of a workstation to be a raster scanned display device such as a cathode ray tube device (CRT) which requires a refresh (or display) buffer. In many prior art systems the display buffer is in practice a part of the workstation's random access memory (RAM) in the sense that it is within the address space of the workstation processor. This is not always the case though. Either way, it is usual to configure the display buffer as an all points addressable (APA) buffer (ie. each item of pel data can be separately accessed) in order that a sufficiently high data bandwidth can be achieved in order to support the display while still allowing the buffer to be updated.
Whether the display buffer is part of the workstation RAM or is physically separate, the relatively high cost of configuring storage as an APA buffer compared to general purpose RAM or ROM means that it is desirable to keep the display buffer as small as possible.
A low cost prior approach to the problem of how to add symbols to the display when updating it is that adopted in standard personal computers with a color graphics adapter (CGA). In this sort of computer a symbol table containing each of the symbol definitions for a set of symbols is stored in general purpose ROM, and each time a symbol is selected for display on the screen in APA mode, the block of pels forming the definition for that symbol is copied from the symbol table into an APA display buffer. This approach has the disadvantage, however, that it is relatively slow.
An alternative, prior, approach which provides increased performance at increased cost is to provide a APA display buffer which includes both on-screen APA storage for the pel data forming a screen of data for display and off-screen APA storage for a symbol table with the symbol definitions for each of the symbols of a symbol set. Special purpose hardware is provided for copying the symbol definitions from the off-screen to the on-screen parts of the display buffer. This approach, which was adopted, for example, in the IBM 3270PC/GX and IBM 3270PC-AT/GX personal computers has the disadvantage that it requires the APA display buffer to be larger, and is consequently more expensive than that in a standard personal computer. Although this approach is more efficient than the former one, it is not as efficient in many applications as might at first be expected. The reason for this is that in applications such as document preparation in general and desk-top publishing in particular, it is necessary to provide a number of different symbol sets (eg. different character fonts). As it is not viable to provide a display buffer which is large enough to accommodate all the symbol fonts at one time, the compromise was adopted to provide storage in the APA display buffer for one complete storage font and to load the symbol table required for a selected font from general purpose RAM each time a font change is required. This process is time consuming and presents a significant system overhead when many font changes are required.
A similar approach to the last mentioned one has been adopted in personal computers including so-called enhanced graphics adapters (EGAs) in that a selected symbol font is transferred into an off-screen portion of an APA display buffer, although the details of the management of the buffer is different. Rather than copying symbol definitions from the off-screen to the on-screen portions of the buffer, pointers to the definitions are instead stored in the on-screen portion and data from the on-screen and the off-screen portions are then merged in order to refresh the display. In the same way as in the last mentioned approach, the copying of a symbol table every time a font change is required is time consuming and presents a significant system overhead when many font changes are required.
The disadvantages of the prior art are overcome by a display system in accordance with the present invention, in which are provided a symbol table in general purpose storage which includes blocks of data forming symbol definitions for each of a set of symbols forming a desired symbol set, an all points addressable (APA) display buffer which includes on-screen APA storage for data indicative of pels to be displayed on a screen and off-screen APA storage for symbol definitions, and buffer control logic for associating symbol definitions in off-screen APA storage with locations in on-screen APA storage such that symbols are displayed at desired locations on the display screen, wherein the display system additionally comprises cache control logic for copying the definition of a symbol for display from the symbol table in general purpose storage to off-screen APA storage if the definition for the selected symbol is not already held in off-screen APA storage, whereby the off-screen APA storage is configured as a cache for holding definitions for selected symbols.
A display system in accordance with the present invention enables increased performance to be achieved at reasonable cost in that the advantages of special purpose buffer control logic can be exploited without large off-screen APA storage requirements and heavy processing overheads.
In a particular embodiment of a display system in accordance with the invention there is additionally provided in general purpose storage a cache table comprising an entry for each symbol in the symbol set for pointing to the location in off-screen APA storage, if any, at which the corresponding symbol definition is held, each entry in the cache table also being associated with the location in the symbol table at which the corresponding symbol definition is stored.
As a plurality of display fonts are provided in this particular embodiment, a plurality of symbol tables for different symbol sets are stored in general purpose storage and the display system is provided with pointer means under the control of the cache control logic for associating the cache table with the symbol table for the desired symbol set.
In this particular embodiment, the cache control logic can be arranged to interrogate the cache table when a selected symbol is to be added to the display in order to identify the location, if any, at which the definition for the selected symbol is held in off-screen APA storage, to cause the buffer control logic to associate the selected symbol definition in off-screen APA storage with the on-screen APA storage such that the symbol is displayed at a desired location on the display screen, otherwise to copy the definition for the selected symbol from the appropriate symbol table entry in general purpose storage to a free location in off-screen APA storage, to store an indication in the appropriate entry in the cache table of the location in off-screen APA storage at which the definition for that symbol is now held and to cause the buffer control logic to associate the selected definition in off-screen APA storage with the on-screen APA storage such that the symbol is displayed at the desired location on the display screen.